package com.tinem.platform.module.starter.jpa.entity.config;

import com.tinem.platform.module.starter.jpa.entity.config.key.ConfigWebGatewayUrlAuthorizeKey;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;
import java.io.Serializable;

/**
 * @author fzh
 * @version v1
 * @program: platform
 * @className ConfigWebGatewayUrlAuthorize
 * @description 访问地址授权配置表
 * @site
 * @company 
 * @create 2022-6-6
 */
@Data
@Entity
@ToString
@DynamicInsert
@DynamicUpdate
@EqualsAndHashCode
@NoArgsConstructor
@AllArgsConstructor
@IdClass(ConfigWebGatewayUrlAuthorizeKey.class)
@Table(name="t_config_web_gateway_url_authorize")
@ApiModel("访问地址授权配置表")
public class ConfigWebGatewayUrlAuthorize implements Serializable,Cloneable{
    @Id
    @Column(name = "c_service",nullable=true)
    @ApiModelProperty(name = "service", value = "服务名称;支持正则语法",required = true)
    private String service;
    @Id
    @Column(name = "c_method",nullable=true)
    @ApiModelProperty(name = "method", value = "服务方法;antpath 语法",required = true)
    private String method;
    
    @Column(name = "c_authorize",nullable=true)
    @ApiModelProperty(name = "authorize", value = "授权权限",required = true)
    private String authorize;
    @Enumerated(EnumType.STRING)
    @Column(name = "c_status",nullable=true)
    @ApiModelProperty(name = "status", value = "是否删除",required = true)
    private com.tinem.platform.module.pojo.enums.common.Enabled status;
    
    @Version
    @Column(name = "c_revision",nullable=true)
    @ApiModelProperty(name = "revision", value = "乐观锁",required = false)
    private Integer revision;
    
    @Column(name = "c_created_by",nullable=true)
    @ApiModelProperty(name = "createdBy", value = "创建人",required = false)
    private String createdBy;
    
    @Column(name = "c_created_time",nullable=true,insertable = false,updatable = false)
    @ApiModelProperty(name = "createdTime", value = "创建时间",required = false)
    private java.util.Date createdTime;
    
    @Column(name = "c_updated_by",nullable=true)
    @ApiModelProperty(name = "updatedBy", value = "更新人",required = false)
    private String updatedBy;
    
    @Column(name = "c_updated_time",nullable=true,insertable = false,updatable = false)
    @ApiModelProperty(name = "updatedTime", value = "更新时间",required = false)
    private java.util.Date updatedTime;

}